<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui" template="/paginas/template.xhtml">

	<ui:define name="corpoForm">
		

		<h:form id="formBotoesAjusteEstoque" prependId="false">
			<p:panelGrid columns="1" styleClass="botoes" id="botoes">
				<p:commandButton id="botaoCriarAjusteEstoque"
					value="#{rsc.label_criar}" styleClass="botao"
					rendered="#{p:ifGranted('CRIAR_AJUSTEESTOQUE')}"
					action="#{manterAjusteEstoqueBean.criarEntidade}" ajax="false"
					title="#{rsc.title_criar}" />
			</p:panelGrid>
		</h:form>

		<f:event type="javax.faces.event.PreRenderComponentEvent"
			listener="#{manterAjusteEstoqueBean.preRenderList}" />
		<h:form id="formListAjustesEstoque" prependId="false">
			<p:fieldset legend="#{rsc.label_filtros}" toggleable="true"
				collapsed="true">

				<p:panelGrid columns="5">
					<p:outputLabel value="#{rsc.label_motivoAjusteEstoque} "
						for="cmbAjusteEstoque" />

					<p:outputLabel value="#{rsc.label_periodo}" />

					<p:outputLabel value="#{rsc.label_status} "
						for="cmbStatusAjusteEstoque" />

					<p:outputLabel value="#{rsc.label_filial} "
						for="cmbFilial" />
						
					<p:spacer />

					<p:selectOneMenu label="#{rsc.label_motivoAjusteEstoque}"
						value="#{manterAjusteEstoqueBean.filtro.motivoAjusteEstoque}"
						id="cmbAjusteEstoque">
						<p:ajax event="change"
							listener="#{manterAjusteEstoqueBean.buscarPorFiltros}"
							update="listaAjustesEstoques" />
						<f:selectItem itemLabel="#{rsc.label_selecionar}" itemValue="" />
						<f:selectItems
							value="#{manterAjusteEstoqueBean.formulario.motivos}" var="c"
							itemLabel="#{c.label}" itemValue="#{c}" />
					</p:selectOneMenu>

					<p:column>
						<h:outputText value="#{rsc.label_de}" />
						<p:calendar pattern="dd/MM/yyyy" size="11" showOn="button"
							id="cldDataInicio"
							value="#{manterAjusteEstoqueBean.filtro.dataInicio}">
							<p:ajax event="change"
								listener="#{manterAjusteEstoqueBean.buscarPorFiltros}"
								update="listaAjustesEstoques" />
						</p:calendar>
						<h:outputText value="#{rsc.label_ate}" />
						<p:calendar pattern="dd/MM/yyyy" size="11" showOn="button"
							id="cldDataFim" value="#{manterAjusteEstoqueBean.filtro.dataFim}">
							<p:ajax event="change"
								listener="#{manterAjusteEstoqueBean.buscarPorFiltros}"
								update="listaAjustesEstoques" />
						</p:calendar>

					</p:column>

					<p:selectOneMenu label="#{rsc.label_status}"
						value="#{manterAjusteEstoqueBean.filtro.status}"
						id="cmbStatusAjusteEstoque">
						<f:selectItem itemLabel="#{rsc.label_selecionar}" itemValue="" />
						<f:selectItems
							value="#{manterAjusteEstoqueBean.formulario.statusAjuste}"
							var="c" itemLabel="#{c.label}" itemValue="#{c}" />
					</p:selectOneMenu>

					<p:selectOneMenu style="width: 150px" label="#{rsc.label_filial}"
						styleClass="width: 120px"
						value="#{manterAjusteEstoqueBean.filtro.idFilial}"
						id="cmbFilial">
						<f:selectItems
							value="#{manterAjusteEstoqueBean.formulario.filiais}"
							var="c" itemLabel="#{c.nome}" itemValue="#{c.id}" />
					</p:selectOneMenu>

					<p:commandButton update="listaAjustesEstoques"
						actionListener="#{manterAjusteEstoqueBean.buscarPorFiltros}"
						icon="ui-icon ui-icon-search" title="#{rsc.label_buscar}" />

				</p:panelGrid>
			</p:fieldset>

			<p:watermark value="#{rsc.wm_data}" for="cldDataInicio" />
			<p:watermark value="#{rsc.wm_data}" for="cldDataFim" />

			<p:panel id="pnlListaColecoes"
				header="#{rsc.label_ajustesEstoqueCadastrados}" toggleable="true"
				toggleSpeed="500">
				<p:panelGrid columns="1" styleClass="full-width"
					columnClasses="full-width">
					<p:dataTable emptyMessage="#{msg.nenhumRegistroEncontrado}"
						var="ajusteEstoque" id="listaAjustesEstoques"
						value="#{manterAjusteEstoqueBean.entidades}" paginator="true"
						rows="10" paginatorPosition="#{rsc.label_paginationPosition}"
						paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
						rowsPerPageTemplate="10,50,150,200">

						<p:column headerText="#{rsc.label_codigo}">
							<p:outputLabel value="#{ajusteEstoque.id}" />
						</p:column>

						<p:column headerText="#{rsc.label_motivoAjusteEstoque}"
							sortBy="#{ajusteEstoque.motivo}" styleClass="centralizado">
							<p:outputLabel value="#{ajusteEstoque.motivo.label}" />
						</p:column>

						<p:column headerText="#{rsc.label_dataAjuste}"
							sortBy="#{ajusteEstoque.dataAjuste}" styleClass="centralizado">
							<h:outputText value="#{ajusteEstoque.dataAjuste}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</p:column>

						<p:column headerText="#{rsc.label_observacao}"
							styleClass="centralizado">
							<p:outputLabel value="#{ajusteEstoque.nome}" />
						</p:column>

						<p:column headerText="#{rsc.label_status}"
							styleClass="centralizado">
							<p:outputLabel value="#{ajusteEstoque.status.label}" />
						</p:column>

						<p:column styleClass="coluna-acoes"
							headerText="#{rsc.label_acoes}">

							<p:commandButton update=":detalharDialog"
								oncomplete="dlgAjusteEstoque.show();"
								icon="ui-icon ui-icon-search" title="#{rsc.label_detalhar}">
								<f:setPropertyActionListener value="#{ajusteEstoque}"
									target="#{manterAjusteEstoqueBean.entidade}" />
							</p:commandButton>

							<p:commandButton update=":removeDialog"
								rendered="#{ajusteEstoque.status.codigo == 1}"
								oncomplete="confirmacao.show();" icon="ui-icon ui-icon-trash"
								title="#{rsc.label_remover}">
								<f:setPropertyActionListener value="#{ajusteEstoque}"
									target="#{manterAjusteEstoqueBean.entidade}" />
							</p:commandButton>

							<p:commandButton icon="ui-icon ui-icon-note"
								title="#{rsc.label_historico}" update=":historicoDialog"
								process="@this" oncomplete="historico.show();">
								<f:setPropertyActionListener
									value="#{ajusteEstoque.historicosAjuste}"
									target="#{manterAjusteEstoqueBean.formulario.historico}" />
							</p:commandButton>

						</p:column>
					</p:dataTable>
				</p:panelGrid>
			</p:panel>
		</h:form>

		<p:confirmDialog message="#{msg.questionConfirmaRemover}"
			appendTo="@(body)" width="250" id="removeDialog"
			header="#{rsc.label_confirmar}" severity="alert"
			widgetVar="confirmacao">
			<h:form id="confirmarForm">
				<p:commandButton value="#{rsc.label_sim}" styleClass="botao"
					actionListener="#{manterAjusteEstoqueBean.cancelarAjuste}"
					oncomplete="confirmacao.hide();"
					update=":formListAjustesEstoque:listaAjustesEstoques" />
				<p:commandButton value="#{rsc.label_nao}" styleClass="botao"
					onclick="confirmacao.hide();" />
			</h:form>
		</p:confirmDialog>


		<p:dialog id="detalharDialog" appendTo="@(body)" width="900"
			height="400" header="#{rsc.label_detalheAjusteEstoque}"
			widgetVar="dlgAjusteEstoque">

			<p:panelGrid columns="2">
				<h:outputText value="#{rsc.label_motivoAjusteEstoque}:"
					styleClass="negrito" />
				<h:outputText
					value="#{manterAjusteEstoqueBean.entidade.motivo.label}" />
				<h:outputText value="#{rsc.label_observacao}:" styleClass="negrito" />
				<h:outputText value="#{manterAjusteEstoqueBean.entidade.nome}" />
				<h:outputText value="#{rsc.label_dataAjuste}:" styleClass="negrito" />
				<h:outputText value="#{manterAjusteEstoqueBean.entidade.dataAjuste}">
					<f:convertDateTime pattern="dd/MM/yyyy" />
				</h:outputText>
			</p:panelGrid>
			<p:panelGrid columns="2">
				<p:dataTable emptyMessage="#{msg.nenhumRegistroEncontrado}" var="ea"
					id="listaProdutosEntrada" widgetVar="listaProdutosWid"
					value="#{manterAjusteEstoqueBean.entidade.estoquesAjustados}">


					<p:column headerText="#{rsc.label_codigo}"
						styleClass="centralizado">
						<p:outputLabel value="#{ea.estoque.produto.id}" />
					</p:column>

					<p:column headerText="#{rsc.label_produto}">
						<p:outputLabel value="#{ea.estoque.produto.nome}" />
					</p:column>

					<p:column headerText="#{rsc.label_estoqueAnterior}"
						styleClass="centralizado">
						<h:outputText value="#{ea.valorAnterior}"
							converter="numericoFracaoConverter" />
					</p:column>

					<p:column headerText="#{rsc.label_novoEstoque}"
						styleClass="centralizado">
						<h:outputText value="#{ea.valorPosterior}"
							converter="numericoFracaoConverter" />
					</p:column>
				</p:dataTable>
			</p:panelGrid>

		</p:dialog>

		<p:dialog id="historicoDialog" header="#{rsc.label_historico}"
			widgetVar="historico" width="520">
			<ui:repeat value="#{manterAjusteEstoqueBean.formulario.historico}"
				var="historico">
				<p:panelGrid columns="5">
					<h:outputText value="#{historico.status.label} " />
					<h:outputText value="#{rsc.label_noDia}" />
					<h:outputText value="#{historico.data}">
						<f:convertDateTime pattern="dd/MM/yyyy" />
					</h:outputText>
					<h:outputText value="#{rsc.label_por}" />
					<h:outputText value="#{historico.ajusteEstoque.criador.nome} " />
				</p:panelGrid>
			</ui:repeat>
		</p:dialog>


	</ui:define>
</ui:composition>

